package com.tencent.sr.iris.activity.service.activity;

import com.tencent.sr.iris.activity.domain.event.dto.ActivityTaskDTO;
import com.tencent.sr.iris.activity.interfaces.dto.AwardInfoDTO;
import com.tencent.sr.iris.activity.repository.entity.TIrisActivityTaskDO;

import java.util.List;
import java.util.Map;

public interface IrisActivityTaskService {

    /**
     * 查询任务
     *
     * @param idList
     * @return
     */
    List<TIrisActivityTaskDO> getTasksByIds(List<String> idList);

    /**
     * 查询任务
     *
     * @param actId
     * @return
     */
    List<ActivityTaskDTO> getTasksByActBizId(String actId);

    /**
     * 根据bizId查询任务
     *
     * @param actBizId
     * @return
     */
    ActivityTaskDTO getTaskByTaskBizId(String actBizId);

    /**
     * 根据bizId查询任务奖励
     *
     * @param actBizId
     * @return
     */
    AwardInfoDTO getAwardInfoByTaskBizId(String actBizId);

    /**
     * 查询所有任务
     *
     * @return
     */
    List<TIrisActivityTaskDO> getAll();

    /**
     * 获取任务信息
     * @return
     */
    Map<String, TIrisActivityTaskDO> getAllFromLocalCache();

    /**
     * 根据id查询
     * @param id
     * @return
     */
    TIrisActivityTaskDO selectByPrimaryKey(Long id);

    /**
     * 获取最新的一条有效配置
     * @param bizId
     * @return
     */
    AwardInfoDTO getValidAwardInfoLastOne(String bizId);
}
